<?php
class ProdutoBSN extends GenericBSN {

	function __construct() {
		$this->dao = new ProdutoDAO();
	}

	public function consultar($vars) {
		$this->preencher($vars);
		$this->Records = $this->dao->consultar($this->where, $this->params, $this->order . $this->limit);
		$this->TotalRecordCount = $this->dao->contarRegistros($this->where, $this->params);   
		$this->Result  = "OK";
	}
	
	public function consultarCodigo($vars) {
		$params['codigo'] = ($vars['codigo'] != "") ? "%" . $vars['codigo'] . "%" : "%";
		$sql = " where codigo like :codigo";
		
		$this->Records = $this->dao->consultar($sql, $params);
		$this->Result = "OK";
	}
	
	public function consultarDescricao($vars) {
		$params['descricao'] = ($vars['descricao'] != "") ? "%" . $vars['descricao'] . "%" : "%";
		$sql = " where descricao like :descricao";
		
		$this->Records = $this->dao->consultar($sql, $params);
		$this->Result = "OK";
	}
	
	public function inserir($vars) {
		try {
			$registro['codigo']			= $vars['codigo'];
			$registro['descricao'] 		= $vars['descricao'];
			$registro['unidade_compra'] = $vars['unidade_compra_id'];
			$registro['unidade_venda'] 	= $vars['unidade_venda_id'];
			$registro['unidade_padrao'] = $vars['unidade_padrao'];
			$registro['obs'] 			= $vars['obs'];
				
			$this->Record  = $this->dao->inserir($registro);
			$this->Result  = "OK";
		} catch (Exception $e) {
			$this->dao->rollback();
			$this->Result  = "ERROR";
			$this->Message = $e->getMessage();
		}
	}
	
	public function alterar($vars) {
		try {
			$registro['codigo']			= $vars['codigo'];
			$registro['descricao'] 		= $vars['descricao'];
			$registro['unidade_compra'] = $vars['unidade_compra_id'];
			$registro['unidade_venda'] 	= $vars['unidade_venda_id'];
			$registro['unidade_padrao'] = $vars['unidade_padrao'];
			$registro['obs'] 			= $vars['obs'];
			$registro['id']	   			= $vars['id'];
				
			$this->Record  = $this->dao->alterar($registro);
			$this->Result  = "OK";
		} catch (Exception $e) {
			$this->dao->rollback();
			$this->Result  = "ERROR";
			$this->Message = $e->getMessage();
		}
	}

	public function excluir($registro) {
		$pk['id'] = $registro['id'];

		try {
			$this->dao->Excluir($pk);
			$this->Result  = "OK";
		} catch (Exception $e) {
			$this->dao->rollback();
			$this->Result  = "ERROR";
			$this->Message = $e->getMessage();
		}
	}
}
?>